package cn.wh.scripting;

import cn.wh.executor.parameter.ParameterHandler;
import cn.wh.mapping.BoundSql;
import cn.wh.mapping.MappedStatement;
import cn.wh.mapping.SqlSource;
import cn.wh.session.Configuration;
import org.dom4j.Element;

/**
 * @Author wh
 * @Description 脚本语言驱动
 * @Date 2023/2/14 10:02
 * @Version 1.0
 **/
public interface LanguageDriver {

    /**
     * 创建sql 源码
     * @param configuration
     * @param script
     * @param parameterType
     * @return
     */
    SqlSource createSqlSource(Configuration configuration, Element script, Class<?> parameterType);



    ParameterHandler createParameterHandler(MappedStatement mappedStatement, Object parameterObject, BoundSql boundSql);

}
